package com.gjh.ouygoing.controller;

import com.gjh.ouygoing.entity.OrderInfo;
import com.gjh.ouygoing.enums.OrderStatus;
import com.gjh.ouygoing.service.OrderInfoService;
import com.gjh.ouygoing.vo.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 订单的控制层
 */
@Api(tags = "订单列表")
@RestController
@CrossOrigin
@RequestMapping("/api/order-info")
public class OrderInfoController extends BaseController {
    /**
     * 得到我的这个订单的服务层
     */
    @Autowired
    private OrderInfoService orderInfoService;

    /**
     * 用来查询我的所有相关订单的信息
     * @return
     */
    @ApiOperation("查询我的这个订单列表")
    @GetMapping("/list")
    public R OrderList(){
        List<OrderInfo> list = orderInfoService.listOrderInfoByTimeDesc();//用来查询我的这个订单编号，按照我的这个倒叙排序
        return R.ok().data("list",list);
    }

    /**
     * 查询我当前的这个本地订单状态
     * @param orderNo 我的这个订单好
     * @return
     */
    @GetMapping("/query-order-status/{orderNo}")
    public R queryOrderStatus(@PathVariable("orderNo") String orderNo){
        String orderStatus = this.orderInfoService.getOrderInfoService(orderNo);//更具我的这个订单编号查询我本地的状态
        if (OrderStatus.SUCCESS.getType().equals(orderStatus)) {//判断是否更新成功
            return R.ok().setCode(0).setMessage("支付成功");//返回我当前的这个支付状态
        }
        return R.ok().setCode(101).setMessage("支付中");//返回我当前的这个错误的信息
    }

}
